package cn.tedu.system.government.mapper;


import cn.tedu.system.government.pojo.dto.ProductGetDTO;
import cn.tedu.system.government.pojo.dto.UpdateAgricultureStatusDTO;
import cn.tedu.system.government.pojo.dto.UpdateProductStatusDTO;
import cn.tedu.system.government.pojo.entity.Policies;
import cn.tedu.system.government.pojo.entity.Video;
import cn.tedu.system.government.pojo.vo.PoliciesListVO;
import cn.tedu.system.government.pojo.vo.VideoVO;
import cn.tedu.system.product.pojo.entity.Product;
import cn.tedu.system.product.pojo.vo.ProductVO;
import io.lettuce.core.dynamic.annotation.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface GovernmentMapper {
    int set(Policies policies);

    List<PoliciesListVO> getList();

    int addVideo(Video video);

    List<VideoVO> getVideo();

    int addProduct(Product product);

    int reviseProduct(Product product);


    List<ProductVO> getProductList(ProductGetDTO productGetDTO);

//    int updateProductStatus(Long id, Integer status);


    List<PoliciesListVO> getPoliciesById(Long id);

    List<VideoVO> getStoryById(Long id);

    ProductVO getProductById(Long id);

    //管理员的
    List<ProductVO> getAdminProductList();

    //加的功能
    int deletePolicyById(Long id);
    int deleteProductById(Long id);
    int deleteVideoById(Long id);
    int updatePolicy(Policies policies);
    int updateVideo(Video video);



    //浏览次数加一
    int incrementPolicyViewCount(@Param("policyId") Integer policyId);
    //    浏览次数加一
    int incrementVideoViewCount(@Param("videoId") Long videoId);
    /**
     * 根据政策ID获取附件URL
     */
    String getAttachmentUrlByPolicyId(Long policyId);


    void updateAgricultureStatus(UpdateAgricultureStatusDTO dto);

    void updateProductStatus(UpdateProductStatusDTO dto);
}
